﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using clEntidad;

namespace clBD
{
    public class BDVisitado:BDBase
    {
        public BDVisitado(OleDbConnection cn):base(cn){ }
        public BDVisitado(OleDbConnection cn, OleDbTransaction trx) : base(cn, trx) { }
        public void grabar(Visitado visitado)
        {
            String query = "select 1 from visitado where nombre='" +
                visitado.nombre.Trim().ToUpper() + "'";
            OleDbDataReader dr = execDr(query);
            if (!dr.HasRows)
            {
                query = "insert into visitado(nombre,ubicacion,area) "
                    + " values ('" 
                    + visitado.nombre.Trim().ToUpper() + "','"
                    + visitado.ubicacion.Trim().ToUpper() + "','"
                    + visitado.area.Trim().ToUpper() + "')";
            }
            else
            {
                query = "update visitado set "  
                    + " ubicacion='" + visitado.ubicacion.Trim().ToUpper()
                    + "',area='" + visitado.area.Trim().ToUpper()
                    + "' where nombre ='" + visitado.nombre.Trim().ToUpper() + "'";
            }
            execute(query);
        }
        public Visitado get(String nombre)
        {
            Visitado elem = new Visitado();
            String query = "select ubicacion,area from visitado where nombre='" + nombre.Trim().ToUpper() + "'";
            OleDbDataReader dr = execDr(query);
            if (dr.Read())
            {
                elem.nombre = nombre;
                if(!dr.IsDBNull(0))
                    elem.ubicacion = dr.GetString(0);
                if (!dr.IsDBNull(1))
                    elem.area = dr.GetString(1);
            }
            return elem;
        }

    }
}
